Dynamic geometry support for vehicle components

ABSTRACT

Apparatuses and methods for adjusting a position of at least one component of a vehicle for a user of the vehicle. A user is identified with a user key associated with the user. The user key and a vehicle identifier associated with the vehicle are transmitted to a server remote from the vehicle. At least one user setting for the vehicle is received from the remote server, with the at least one user setting relating to the user key, the vehicle identifier, and the position of the at least one component. A vehicle system setting is updated with the at least one user setting so as to adjust the position of the at least one component based on the at least one user setting when the vehicle system setting does not correspond with the at least one user setting.

FIELD

The present disclosure relates to vehicles, and more particularly, to user adjustable components in vehicles.

BACKGROUND

Vehicles often include components which can be adjusted by a user of the vehicle. Such adjustable components can include adjustable seats and mirrors. In addition, some vehicles can store position settings for such adjustable components as a group of position settings for a particular user of the vehicle. In such vehicles, the user can automatically adjust the adjustable components in accordance with their position settings by selecting the group of position settings.

SUMMARY

One limitation of the foregoing automatic adjustment is that the settings are only available in one vehicle. If a user drives a different vehicle, they must adjust the settings for many of the adjustable components. In addition, if the different vehicle is unfamiliar to the driver, such as a rental car that is a different make or model from the user's usual vehicle, the user will likely spend more time searching for their preferred settings. In view of these problems, one aspect of the present disclosure involves storing user settings at a server remote from a vehicle so that the user settings can be transmitted to different vehicles for the user.

In one embodiment, a user of a vehicle is identified with a user key associated with the user. The user key and a vehicle identifier associated with the vehicle are transmitted to a server remote from the vehicle. In turn, at least one user setting is received from the remote server. The at least one user setting relates to the user key, the vehicle identifier, and a position of at least one component of the vehicle. A vehicle system setting stored in a memory of the vehicle is updated with the at least one user setting. When the vehicle system setting does not correspond with the at least one user setting, the position of the at least one component is adjusted based on the at least one user setting. By receiving the at least one user setting from the remote server, it is ordinarily possible to automatically adjust positions of components in different vehicles based on the at least one user setting.

According to a further embodiment, an input is accepted from the user to adjust the position of the at least one component and the vehicle system setting is changed in accordance with the accepted input. The changed vehicle system setting is transmitted to the remote server so as to update the at least one user setting with the changed vehicle system setting. This arrangement ordinarily allows for the adjustment of positions of components in different vehicles based on changed preferences of the user.

According to another embodiment, a user key associated with a user of a vehicle and a vehicle identifier associated with the vehicle are received from the vehicle. The user key and the vehicle identifier are matched with at least one user setting stored in a memory, with the at least one user setting relating to the user key, the vehicle identifier, and a position of at least one component of the vehicle. For its part, the at least one user setting is transmitted to the vehicle so as to adjust the position of the at least one component based on the at least one user setting when a vehicle system setting for the position of the at least one component does not correspond with the at least one user setting. By matching the vehicle identifier with the at least one user setting, it is ordinarily possible to facilitate adjustment of positions of components in vehicles having different shapes and sizes, such as vehicles of different makes and models.

According to another embodiment, a user key associated with a user of a vehicle and a vehicle identifier associated with the vehicle are received from the vehicle. The user key is matched with a user profile and the vehicle identifier is matched with a vehicle profile. At least one user setting is generated based on the user profile and the vehicle profile. The at least one user setting relates to the user key, the vehicle identifier, and a position of at least one component of the vehicle. In turn, the at least one user setting is transmitted to the vehicle so as to adjust the position of the at least one component based on the at least one user setting when a vehicle system setting for the position of the at least one component does not correspond with the at least one user setting. Since the at least one user setting is generated based on the vehicle profile, the at least one user setting can usually be generated for vehicles having different geometries that the user has not driven before.

According to further embodiment, a changed vehicle system setting is received from the vehicle which is based on an input accepted from the user. The user profile is modified based on the changed vehicle system setting. This arrangement ordinarily allows for new user preferences to affect the generation of the at least one user setting.

The foregoing summary has been provided so that the nature of this disclosure may be understood quickly. A more complete understanding can be obtained with reference to the following detailed description and to the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The features and advantages of the embodiments of the present disclosure will become more apparent from the detailed description set forth below when taken in conjunction with the drawings. Naturally, the drawings and their associated descriptions illustrate example arrangements within the scope of the claims and do not limit the scope of the claims. Reference numbers are reused throughout the drawings to indicate correspondence between referenced elements.

FIG. 1 is a representative view including vehicles and users for an example embodiment of the present disclosure.

FIG. 2 depicts a schematic of a vehicle according to an embodiment of the present disclosure.

FIG. 3 is a block diagram depicting the internal architecture of a server according to an embodiment of the present disclosure.

FIG. 4 represents various example user settings according to an embodiment of the present disclosure.

FIG. 5 represents various example user profiles according to an embodiment of the present disclosure.

FIG. 6 represents various example vehicle profiles according to an embodiment of the present disclosure.

FIG. 7A is a flowchart depicting a process for updating vehicle system settings according to an embodiment of the present disclosure.

FIG. 7B is a flowchart depicting a sub-process of the process of FIG. 7A for adjusting a position of a component according to an embodiment of the present disclosure.

FIG. 8 is a flowchart depicting a first process for transmitting a user setting to a vehicle according to an embodiment of the present disclosure.

FIG. 9 is a flowchart depicting a second process for transmitting a user setting to a vehicle according to an embodiment of the present disclosure.

FIG. 10 is a flowchart depicting a process for updating user settings and modifying user profiles according to an embodiment of the present disclosure.

DETAILED DESCRIPTION

In the following detailed description, numerous specific details are set forth to provide a full understanding of the present disclosure. It will be apparent, however, to one ordinarily skilled in the art that the present invention may be practiced without some of these specific details. In other instances, well-known structures and techniques have not been shown in detail to avoid unnecessarily obscuring the present disclosure.

FIG. 1 is a representative view relevant to an example embodiment, which includes the vehicles 100, 200, and 300 and the users 10 and 12. As shown in the example of FIG. 1, vehicles 100 and 200 are the same model or vehicle type (depicted as model A) having substantially the same geometric shape and dimensions. On the other hand, the vehicle 300 is a different model or vehicle type (depicted as model B) having a different geometric shape and dimensions from the vehicles 100 and 200. Although the vehicles 100, 200, and 300 are depicted as passenger automobiles in FIG. 1, it will be appreciated by those of ordinary skill in the art that the present disclosure is not limited to passenger automobiles and may include other types of vehicles such as trucks, bicycles, motorcycles, or boats.

The users 10 and 12 have different body shapes and dimensions. In addition, the user 10 has a mobile device 30 and the user 12 has a mobile device 32. The mobile devices 30 and 32 can include, for example, mobile devices such as a mobile phone or smartphone, a tablet computer, a laptop, a smart card, or a key fob. As shown in FIG. 1, the mobile devices 30 and 32 are wirelessly connected to the vehicles 200 and 300, respectively. The wireless connection between the mobile devices 30 and 32 and the vehicles 200 and 300 can use various wireless personal area network technologies, such as Bluetooth, infrared, or near-field communications. In operation, the mobile devices 30 and 32 transmit and/or receive data to or from the vehicles 200 and 300 via a wireless connection.

In alternative embodiments, the mobile devices 30 and 32 may allow access to data, or transmit and/or receive data to or from the vehicles 200 and 300 via a physical connection with the vehicles 200 and 300. Such physical connections can include a USB cable (not shown) or a card reader (not shown) inside the vehicles 200 and 300. In such alternative embodiments, the mobile devices 30 and 32 can include a memory card, such as a flash drive, or an ignition key.

In the example of FIG. 1, the vehicles 100, 200, and 300 are wirelessly connected to a server 400 via a network 20. As shown in FIG. 1, the wireless connection between the vehicle 200 and the server 400 is made through the mobile device 30. In this regard, the mobile device 30 is connected to the server 400 via the network 20. The network 20 may use one or several different types of telecommunication networks including, for example, wireless technologies such as cellular, satellite, and wi-fi technologies, in addition to wired technologies such as fiber optic or wired telephone technologies.

The server 400 can include a single device or multiple devices providing remote services such as remote computing and file storage. The server 400 may connect to the network through a wired connection or a wireless connection. In operation, the server 400 receives data from and transmits data to the vehicles 100, 200, and 300 via the network 20 and/or the mobile device 30. In the case of vehicles 100 and 300, the server 400 communicates directly with the vehicles 100 and 300 via the network 20. In the case of vehicle 200, the server 400 communicates with the vehicle 200 via network 20 and the mobile device 30.

FIG. 2 depicts a schematic for the vehicle 100 according to one embodiment. As shown in the example of FIG. 2, the vehicle 100 includes a telematics unit 101, which includes a processor 102, a memory 103, and a modem 104. The processor 102 can be implemented using one or more processors for executing instructions and can include a microcontroller, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), hard-wired logic, analog circuitry and/or a combination thereof. The memory 103 is a computer-readable memory and can include, for example, a non-volatile solid-state memory such as NAND flash. The modem 104 can be implemented as a wireless modem, such a 3G wireless modem.

As shown in the example embodiment of FIG. 2, the telematics unit 101 is electrically connected to a user interface 142, which displays information for users of the vehicle 100, such as users 10 and 12. The user interface 142 also accepts information from a user via a touchscreen display. The user interface may include a separate display for displaying information and separate buttons for accepting information from a user. In some embodiments, information may be provided to users in an audio format through speakers (not shown) within the vehicle 100. In such embodiments, information may also be accepted from users in an audio format via a microphone (not shown) inside the vehicle 100.

In the example of FIG. 2, the telematics unit 101 is also electrically connected to a biometric sensor 144, which is capable of identifying a user of the vehicle 100. In one embodiment, the biometric sensor 144 may include, for example, a fingerprint scanner to identify a user.

In addition, the telematics unit 101 is electrically connected to multiple vehicle system controllers including mirror controllers 105 and 106, a seat controller 116, a pedal controller 128, and a steering wheel controller 138. These controllers can be implemented as one or more processors for executing instructions and can include a microcontroller, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), hard-wired logic, analog circuitry and/or a combination thereof. The controllers 105, 106, 116, 128, and 138 each work in conjunction with a memory storing a vehicle system setting for the position of a component of the vehicle 100. The memory can be separate from the controller or can be integrated with the controller, as in an Application Specific Integrated Circuit (ASIC).

In the example embodiment of FIG. 2, the mirror controllers 105 and 106 are electrically connected to the mirror actuators 108 and 110, respectively. The mirror controllers 105 and 106 control the mirror actuators 108 and 110 to adjust a position of the mirrors 112 and 114. More specifically, the mirror actuators 108 and 110 are each coupled to the mirrors 112 and 114, respectively, and rotate the mirrors 112 and 114 based on control signals received from the mirror controllers 105 and 106. The mirror actuators 108 and 110 can include, for example, motors that adjust an orientation angle of the mirrors 112 and 114, thereby adjusting a position of the mirrors 112 and 114. The control signals sent from the mirror controllers 105 and 106 are based on vehicle system settings stored in the memories 109 and 111, respectively. The mirror controllers 105 and 106 are also electrically connected to the mirror input devices 107 and 113, respectively. The mirror input devices 107 and 113 can include a button or a joystick for accepting an input from a user to change the position of the mirrors 112 and 114. For example, when an input is accepted by the mirror input device 107, the mirror controller 105 updates the vehicle system setting stored in the memory 109 with the accepted input and controls the mirror actuator 108 to adjust the position of the mirror 112. In addition, and as described in further detail below, the vehicle system setting can be updated with a setting received from the telematics unit 101, or from another controller of the vehicle 100.

In alternative embodiments, the vehicle system settings stored in the memories 109 and 111 may include updatable settings for controlling other devices associated with the mirrors 112 and 114, such as heaters. Moreover, those of ordinary skill in the art will appreciate that the locations, configurations, and quantities for the controllers and actuators of the above described mirror system, or of any of the example vehicle systems described below, can vary without departing from the spirit and scope of this disclosure.

The seat controller 116 is electrically connected to the seat actuator 120, and controls the seat actuator 120 to adjust a position of the seat 124. As shown in FIG. 2, the seat controller 116 is integrated with the seat actuator 120, which is coupled to the seat 124. The seat controller 116 controls the seat actuator 120 by transmitting a control signal to control the seat actuator 120. In the example embodiment of FIG. 1, the seat actuator 120 includes a motor which drives the seat 124 in a forward or reverse direction along a track so as to adjust a position of the seat 124. Similar to the mirror systems described above, the control signals sent from the seat controller 116 are based on a vehicle system setting stored in a memory 117, which may also be integrated with the seat controller 116 and the seat actuator 120. The seat controller 116 is also electrically connected to a seat input device 118, which can include buttons for accepting an input from a user to change the position of the seat 124. For example, when an input is accepted by the seat input device 118, the seat controller 120 updates a vehicle system setting stored in the memory 117 with the accepted input and controls the seat actuator 120 to adjust the position of the seat 124. In addition, and as described in further detail below, the vehicle system setting can be updated with a setting received from the telematics unit 101, or from another controller of the vehicle 100.

In addition to the vehicle system setting for a position of the seat 124, the memory 117 may also include other vehicle system settings for adjusting other aspects of the seat 124, such as increasing or decreasing a lumbar support, a recline angle, a tilt angle, and/or heating of the seat 124.

The pedal controller 128 is electrically connected to the brake pedal actuator 130 and the accelerator pedal actuator 132, and controls the brake pedal actuator 130 and the accelerator pedal actuator 132 to adjust positions of the brake pedal 134 and the accelerator pedal 136 so as to move the brake pedal 134 and the accelerator pedal 136 closer to or farther away from a user. As shown in FIG. 2, the brake pedal actuator 130 is coupled to the brake pedal 134 and the accelerator pedal actuator 132 is coupled to the accelerator pedal 136. The pedal controller 128 controls the brake pedal actuator 130 and the accelerator pedal actuator 132 by transmitting control signals to control the brake pedal actuator 130 and the accelerator pedal actuator 132. In the example embodiment of FIG. 1, the brake pedal actuator 130 and the accelerator pedal actuator 132 each include a motor which adjusts a position of the brake pedal 134 or the accelerator pedal 136. Similar to the mirror and seat systems described above, the control signals sent from the pedal controller 128 are based on vehicle system settings stored in a memory 129, which can be integrated with the pedal controller 128. Unlike the mirror and seat systems described above, there is not a dedicated input device for adjusting the positions of the brake pedal 134 and the accelerator pedal 136. Instead, in the example of FIG. 1, an input for adjusting the positions of the brake pedal 134 and the accelerator pedal 136 can be accepted by the user interface 142. The accepted input is then transmitted to the telematics unit 101, which in turn, updates the vehicle system settings for the positions of the brake pedal 134 and the accelerator pedal 136 in the memory 129 via the pedal controller 128. For its part, the pedal controller 128 controls the brake pedal actuator 130 and the accelerator pedal actuator 132 to adjust the positions of the brake pedal 134 and the accelerator pedal 136 based on the changed vehicle system setting stored in the memory 129.

The steering wheel controller 138 is electrically connected to the steering wheel actuator 140, and controls the steering wheel actuator 140 to adjust a position of the steering wheel 141 so as to make the steering wheel closer to or farther from a user. As shown in FIG. 2, the steering wheel actuator 140 is coupled to the steering wheel 141 so as to adjust a position of the steering wheel 141. The steering wheel controller 138 controls the steering wheel actuator 140 by transmitting a control signal to the steering wheel actuator 140. In the example of FIG. 1, the steering wheel actuator 140 includes a motor which adjusts the position of the steering wheel 141. Similar to the vehicle systems described above, the control signals sent from the steering wheel controller 138 are based on a vehicle system setting stored in a memory 139, which can be integrated with the steering wheel controller 138. As with the pedal system described above, there is not a dedicated input device for adjusting the position of the steering wheel 141. Instead, an input for adjusting the position of the steering wheel 141 can be accepted by the user interface 142. The accepted input is then transmitted to the telematics unit 101, which in turn, updates the vehicle system setting for the position of the steering wheel 141 in the memory 139 via the steering wheel controller 138. For its part, the steering wheel controller 138 controls the steering wheel actuator 140 to adjust the position of the steering wheel 141 based on the changed vehicle system setting stored in the memory 139. The memory 139 may also store other vehicle system settings in addition to those discussed above. In the example of the steering wheel system, the memory 139 may store a vehicle system setting for adjusting a tilt of the steering wheel 141.

As will be appreciated by those of ordinary skill in the art, the scope of the present disclosure is not limited to control of the foregoing example vehicle systems. Other embodiments can include various combinations of the vehicle systems of FIG. 1, in addition to other vehicle systems not shown in FIG. 1, such as a passenger seat system.

FIG. 3 depicts an example embodiment of the internal architecture of the server 400 shown in FIG. 1. In addition, FIG. 3 also depicts an input device 40 and a display device 42, which are both optional. The input device 40 can be, for example, a keyboard, scroll wheel, or pointing device allowing a user of the server 400 to enter information and commands to the server 400, or to allow the user of the server 400 to manipulate objects displayed on the display device 42.

The server 400 can be, for example, a cloud server, a file server, or a personal computer. In this regard, the server 400 may be a stand-alone system as shown in FIG. 3, or may be part of a networked system including multiple storage devices and/or computers. In the embodiment of FIG. 3, the server 400 includes a central processing unit (CPU) 406 which can be implemented using one or more processors for executing instructions including a microcontroller, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), hard-wired logic, analog circuitry and/or a combination thereof. The CPU 406 interfaces with a server bus 416. Also interfacing with the server bus 416 are a random access memory (RAM) 408, an input interface 412 for interfacing with the input device 40, a display interface 414 for interfacing with the display device 42, a read only memory (ROM) 410, a network interface 404 for interfacing with the network 20, and a hard disk drive (HDD) 402.

The RAM 408 interfaces with the server bus 416 so as to provide information stored in the RAM 408 to the CPU 406 during execution of instructions in software programs, such as the vehicle adjustment module 500, which is stored in the HDD 402. More specifically, the CPU 406 first loads computer-executable process steps from the HDD 402 or another storage device (not shown) into a region of the RAM 408. The CPU 406 can then execute the stored process steps from the RAM 408. Data such as user settings, user profiles, and vehicle profiles stored in the HDD 402 can be stored in the RAM 408 so that the data can be accessed by the CPU 406 during execution of software programs to the extent that such software programs have a need to access and/or modify the data.

As shown in FIG. 3, the HDD 402 stores user settings 502, 504, and 506, which include settings relating to a vehicle or vehicle type, a user, and a position of at least one component of a vehicle or vehicle type. The HDD 402 also stores user profiles 510 and 512, which include attributes and/or preferences of a user or class of users. In addition, the HDD 402 stores vehicle profiles 514 and 516, which include attributes of a vehicle or vehicle type. Each of the foregoing example user settings, user profiles, and vehicle profiles are further described below in reference to FIGS. 4, 5, and 6.

In the example embodiment of FIG. 3, the HDD 402 also stores the vehicle adjustment module 500 which includes computer executable instructions for performing processes for managing the user settings, user profiles, and/or vehicle profiles. Examples of such processes are described below with reference to FIGS. 8 to 10. Those of ordinary skill in the art will appreciate that the present disclosure is not limited to these embodiments and that the disclosed vehicle adjustment module 500 may be used in other environments in which user settings, user profiles, and/or vehicle profiles are managed.

FIG. 4 illustrates example user settings 502, 504, 506, and 508 stored in the HDD 402 of FIG. 3. As shown in FIG. 4, each of the user settings include a user key associated with a user and a vehicle identifier associated with a vehicle or vehicle type. In the example of FIG. 4, the user key of the user settings 502 and 504 (“CB1906X”) is associated with the user 10 of FIG. 1 by uniquely identifying the user 10. Similarly, the user key of the user settings 506 and 508 (“WS2005Y”) is associated with the user 12 of FIG. 1 by uniquely identifying the user 12. In some embodiments, a user key can be associated with a user by identifying the user as a member of a class of users sharing a common attribute or attributes, such as a class of users who are within a particular range of heights.

The vehicle identifier of the user settings 502 and 506 (“Model A”) is associated with the vehicles 100 and 200 of FIG. 1 by identifying a model or type of vehicle for the vehicles 100 and 200. Similarly, the vehicle identifier of the user settings 504 and 508 (“Model B”) is associated with the vehicle 300 of FIG. 1 by identifying a model or type of vehicle for the vehicle 300. By having the vehicle identifier associated with a model or type of vehicle, it is ordinarily possible to provide for user settings for different vehicles of the same model (such as the vehicles 100 and 200), while saving storage space in the server 400. However, in some embodiments, a vehicle identifier can be associated with a vehicle by uniquely identifying a particular vehicle, such as by using a unique vehicle identification number (VIN). Such unique identification may be desired due to particular options in the vehicle that can vary among vehicles of the same model, such as aftermarket changes made to a particular vehicle.

In addition to the user keys and vehicle identifiers discussed above, the example user settings of FIG. 4 also include various user settings corresponding to the users 10 and 12 and to the vehicles 100, 200 and 300. In the case of the user settings 502, the user settings correspond to the user 10 and to the vehicles 100 and 200. Such settings include user position settings “Mirror 1” (“8.1”), “Mirror 2” (“6.4”), “Seat” (“7.2”), “Steering Wheel” (“1.6”), “Pedal” (“0.8”), each of which correspond to a different adjustable component of the vehicles 100 and 200. These user position settings can indicate, for example, a specific position within a range of possible positions, or a deviation from a standard position.

Although the user settings 502 and the user settings 506 correspond to the same vehicles (vehicles 100 and 200), the user position settings differ due to differences in preferences and/or attributes of the users 10 and 12. Similarly, even though the user settings 504 and the user settings 508 both correspond to the vehicle 300, the user position settings such as Mirror 1 differ due to differences in preferences and/or attributes of the users 10 and 12.

Some differences between the vehicles 100/200 and 300 become apparent when comparing the settings of user settings 502 and 506 with the settings of user settings 504 and 508. For example, the user settings 502 and 506 include user position settings for “Steering Wheel” and “Pedal”, which are not available in the user settings 504 and 508. This difference can be due to the lack of having a steering wheel and pedals that are automatically adjustable in the vehicle 300.

In addition to the user position settings discussed above, the user settings of FIG. 4 also include various other user settings such as entertainment settings, climate settings, and navigation settings. For example, user settings 502 include an entertainment setting for “Preferred Music Genre” (“Classic Rock”) which can be used to automatically set particular radio stations in the vehicles 100 and 200 for the user 10. The user settings 502 also include navigation settings “Home Address” (“1060 W. Addison”) and “Work Address” (“600 Anton”) which can be used to automatically set destinations in a navigation system of the vehicles 100 and 200 for the user 10.

As shown in the example of user settings 504, the user settings include a climate setting “Temperature Setpoint” (“72° F.”) which can be used to automatically set a temperature setpoint in the vehicle 300 for the user 10. As with the user position settings discussed above, the additional user settings will also vary depending on the presence or capabilities of vehicle systems available in a particular vehicle or vehicle type.

In one embodiment, user settings can be created at an automobile dealership using a vehicle or vehicle simulator. Alternatively, user settings can be created by the user themself. For example, a user can create user settings with a personal computer or smartphone connected to the Internet, or with a telematics unit in a vehicle, such as the telematics unit 101 in vehicle 100. User settings can also be generated by the server 400 for different vehicles based on a user profile and a vehicle profile, as will be described more fully with reference to the process of FIG. 9.

FIG. 5 illustrates example user profiles 510 and 512 stored in the HDD 402 of FIG. 3. As shown in FIG. 5, each of the user profiles includes a user key associated with a user. The user key of the user profile 510 (“CB1906X”) is associated with the user 10 of FIG. 1 by uniquely identifying the user 10. Similarly, the user key of the user profile 512 (“WS2005Y”) is associated with the user 12 of FIG. 1 by uniquely identifying the user 12. As noted above with respect to FIG. 4, a user key can alternatively be associated with a user by identifying the user as a member of a class of users sharing a common attribute or attributes.

The user profiles 510 and 512 include several physical attributes of the users 10 and 12, respectively, which can be used to generate new user settings for vehicles or vehicle types that the users have not driven before. For example, each of the user profiles 510 and 512 include a user eye point, user hip point, and arm length for the users 10 and 12, respectively. These example user attributes can, for example, represent a measurement relating to the location of the user's eyes, hips, and hands. Alternatively, these user attributes can represent a deviation from an average location for an eye, hip, or hand. Such average locations can be obtained from guidelines established by standards groups, such as the Society for Automotive Engineers (SAE).

In addition to physical attributes of a user, the user profiles 510 and 512 also include user preferences and/or user settings, such as “Recline Value”, “Lumbar Value”, “Mirror 1 Value”, “Mirror 2 Value”, “Preferred Music Genre”, “Default Volume Level”, “Scheduled Location”, “Background Image”, “Language”, “Units”, “Location 1”, “Location 2”, “Mobile Device 1”, and “Temperature Setpoint”. In one embodiment, user preferences, such as “Recline Value”, “Lumbar Value”, “Mirror 1 Value”, “Mirror 2 Value”, and “Default Volume Level” represent settings made by the user while driving a vehicle. In particular, in the embodiment of FIG. 5, these user preferences represent settings made by the user that have been standardized by the server 400 so as to apply to a standard vehicle. As with the physical attributes described above, the user preferences can also be used to generate new user settings for vehicles or vehicle types not driven before by the user.

The user profiles 510 and 512 also include various user settings that can also form part of a user setting, such as some of the user settings of FIG. 4. Settings such as “Preferred Music Genre”, “Scheduled Location”, “Background Image”, “Language”, “Units”, “Location 1”, “Location 2”, “Mobile Device 1”, “Mobile Device 2”, and “Temperature Setpoint” can be directly transferred to a user setting when generating a new user setting for a vehicle. As with the user settings of FIG. 4, the user profiles of FIG. 5 can be created, for example, at an automobile dealership or by a user.

FIG. 6 illustrates example vehicle profiles 514 and 516 contained in the HDD 402 of FIG. 3, which can be used to generate new user settings for vehicles that a user has not yet driven. The vehicle profile 514 corresponds to the vehicles 100 and 200 in FIG. 1, while the vehicle profile 516 corresponds to the vehicle 300 in FIG. 1. More specifically, the vehicle profile 514 corresponds to a model or vehicle type for the vehicles 100 and 200, while the vehicle profile 516 corresponds to a model or vehicle type for the vehicle 300. In this regard, the vehicle profiles 514 and 516 include a vehicle identifier, “Model A” or “Model B”. As with the vehicle identifiers of the user settings of FIG. 4, the vehicle identifiers of the vehicle profiles 514 and 516 are associated with the vehicles of FIG. 1. For example, the vehicle identifier of vehicle profile 514 (“Model A”) is associated with vehicles 100 and 200. In alternative embodiments, a vehicle identifier can be associated with a vehicle by uniquely identifying a particular vehicle, such as by using a vehicle identification number (VIN).

In addition to vehicle identifiers, the example vehicle profiles of FIG. 6 also include attributes of the vehicles associated with the respective vehicle identifiers. Such attributes can concern the geometries of the associated vehicles and the availability/capabilities of various vehicle systems. In the example of the vehicle profile 514, attributes of the vehicles 100 and 200 include “Distance Ratio 1”, which can pertain to a specific measurement of the vehicles 100 and 200. The vehicle profile 514 also includes the vehicle attribute “Deviation 1”, which can pertain to a deviation distance from a standard distance used for a standard vehicle. The vehicle attribute of “Music Genre” indicates whether an entertainment system of the vehicles 100 and 200 support a capability of automatically creating radio presets based on a user's preferred music genre. Similarly, the vehicle attribute of “Climate” can indicate whether a climate system of the vehicles 100 and 200 support a capability of automatically setting a temperature setpoint to a user's preferred temperature setpoint. The vehicle attribute of “Navigation” can indicate the availability of a navigation system in vehicles 100 and 200.

FIG. 7A depicts an example process performed by the telematics unit 101 of the vehicle 100 in FIG. 2. The process of FIG. 7A provides for the updating of vehicle system settings in response to the reception of user settings from the server 400. In block 602, a vehicle on signal is received indicating that the vehicle 100 has been activated. Such activation can, for example, result from a door opening after the vehicle 100 has been off or can result from an engine of the vehicle 100 being started.

In block 604, the telematics unit 101 identifies a user, such as the user 10 or the user 12, with a user key associated with the user. In the example embodiment of FIG. 7A, the telematics unit 101 can identify the user in several different ways. For example, the user can be identified using the biometric sensor 144 and then matching biometric information accepted by the biometric sensor 144 with a user key stored in the memory 103 of the telematics unit 101. Alternatively, the telematics unit 101 can identify the user by using a mobile device, such as the mobile devices 30 or 32 in FIG. 1, and then matches identification information of the mobile device with a user key stored in the memory 103. The mobile device may also directly provide a user key to the telematics unit 101. Such an arrangement can allow for the user key to be provided to a vehicle the user has not driven before, such as to a rental car. By using a mobile device, the telematics unit 101 may identify a user as they activate the vehicle 100 with a key fob while approaching the vehicle 100. Alternatively, the telematics unit 101 can request if the user would like to download user settings via the user interface 142 once inside the vehicle 100. The user can then enter a personal identification number (PIN) or their user key into the user interface 142 so as to identify the user with the user key.

In addition to identifying a user who is a driver of the vehicle 100, the telematics unit 101 may also identify another user who is a passenger in the vehicle 100 using the same methods described above. In the example where the telematics unit 101 identifies multiple users by using a mobile device, the telematics unit 101 may also detect relative locations of users inside the vehicle 100 so as to determine which user is the driver and which user is the passenger. Alternatively, the telematics unit 101 can prompt the users to confirm which user is the driver via the user interface 142. A user who is a passenger may also have user settings available for download from the server 400 that are specific to being a passenger, such as a user setting for a passenger seat or a passenger climate setting in a vehicle equipped with multiple zones of climate control.

After identifying the user with the user key in block 604, the telematics unit 101 transmits the user key to the server 400 via the network 20 in block 606. In some embodiments, the telematics unit 101 can transmit a user PIN, or email address, or other identifier that can be associated with the user key by the server 400. In such embodiments, the server 400 would associate the user's identifier with the user key.

In block 610, the telematics unit waits to receive a user setting, such as the user settings of FIG. 4, from the server 400 via the network 20. If the user setting is not received from the server after a timeout period has been exceeded, the telematics unit 101 in block 610 displays an error message on the user interface 142 indicating that a user setting has not been received. The process then ends in block 620.

On the other hand, if a user setting is received in block 608, the process proceeds to optional blocks 612 and 614. In block 612, the telematics unit 101 displays a personal greeting on the user interface 142. An example of such a personal greeting could be “Good morning John.” The telematics unit 101 also prompts the user in block 612 to confirm whether the user wants to update the vehicle system settings with their user settings. In some embodiments, block 612 can be omitted or modified so as to only include a request to confirm whether to update the vehicle system settings or to only include a personal greeting. In addition, in other embodiments, the telematics unit 101 can provide a personal greeting or confirm whether the user would like to update the vehicle system settings in an audio format.

In block 614, the telematics unit 101 determines whether the user has confirmed that they would like to update the vehicle system settings with their user settings received from the server 400. If the confirmation is not received within a timeout period or the user indicates that they do not want to update the vehicle system settings, the telematics unit 101 displays a cancellation message on the user interface 142 in block 616, and the process ends in block 620.

If a confirmation is received from the user in block 614, the telematics unit 101 updates the vehicle system settings stored in vehicle system controllers, such as seat controller 116, with the user settings received from the server 400. More specifically, the telematics unit 101 transmits certain user settings to various vehicle system controllers so as to update their vehicle system settings with the user settings. In addition, the telematics unit 101 can also update certain vehicle system settings stored in the memory 103 of the telematics unit, such as a preferred music genre of the user. The process then proceeds to a sub-process “A” set out in FIG. 7B.

In the example sub-process of FIG. 7B, a user setting transmitted from the telematics unit 101 in block 618 is received by a vehicle system controller, such as the seat controller 116, in block 638. In block 640, the vehicle system controller determines whether a current vehicle system setting stored in a memory, such as the memory 117, corresponds with the user setting received in block 638. If so, the process proceeds to block 646. On the other hand, if the vehicle system setting does not correspond with the user setting, the vehicle system controller controls an actuator in block 642 to adjust a position of a component based on the user setting. In this regard, the user setting may represent a specific position to which the actuator moves the component. The process then proceeds to block 644 where the vehicle system controller stores the user setting as the vehicle system setting in a memory, such as the memory 117.

In block 646, the vehicle system controller determines whether an input has been received from an input device, such as the seat input device 118. If not, the vehicle system controller in block 646 checks whether a vehicle off signal has been received indicating that the vehicle 100 has been turned off. Such a vehicle off signal may result, for example, from an ignition key turning the vehicle 100 off or from a driver's door opening after the vehicle 100 has been turned off. If the vehicle system controller determines that a vehicle off signal has been received in block 654, the process of FIGS. 7A and 7B ends in block 636. If not, the process returns to block 646.

If the vehicle system controller determines that an input has been accepted in block 646, the vehicle system controller controls an actuator to adjust a position of a component based on the accepted input. In block 650, the vehicle system controller changes the vehicle system setting stored in a memory in accordance with the accepted input. In block 652, the vehicle system controller transmits the changed vehicle system setting to the telematics unit 101 for transmission to the server 400. The telematics unit 101 may either transmit the changed vehicle setting to the server immediately, or the telematics unit may store the changed vehicle system setting in the memory 103 to wait before transmitting the changed vehicle system setting. In this regard, the telematics unit 101 can be configured to wait before transmitting the changed vehicle system setting until the modem 104 of the telematics unit connects to a particular network, such as a wi-fi network at the user's home.

After transmitting the changed vehicle system settings to the telematics unit 101, the vehicle system controller checks if a vehicle off signal has been received in block 654. If so, the process ends in block 636. If not, the process returns to block 646 described above.

FIG. 8 depicts one example process performed by the server 400 of FIG. 3 for transmitting user settings to a remote vehicle, such as vehicles 100, 200 or 300. In block 702, the server 400 receives a user key associated with a user of a vehicle and a vehicle identifier associated with a vehicle or vehicle type. More specifically, the network interface 404 of the server 400 receives the user key and the vehicle identifier via the network 20. In block 704, the CPU 406 of the server 400 matches the user key and the vehicle identifier with at least one user setting stored in the HDD 402 relating to the user key, the vehicle identifier, and at least one position of a vehicle component. The network interface 404 transmits the at least one user setting to the vehicle in block 706, and the process ends in block 708.

FIG. 9 depicts a different example process performed by the server 400 of FIG. 3 that allows for dynamically generating new user settings on the fly. By generating new user settings, it is ordinarily possible to provide user settings for vehicles or vehicle types the user has not driven before.

In block 714, the server 400 receives a user key associated with a user of a vehicle and a vehicle identifier associated with a vehicle or vehicle type. More specifically, the network interface 404 of the server 400 receives the user key and the vehicle identifier via the network 20. In block 716, the CPU 406 of the server 400 matches the user key with a user profile stored in the HDD 402, such as the user profiles of FIG. 5. In block 718, the CPU 406 matches the vehicle identifier with a vehicle profile stored in the HDD 402, such as the vehicle profiles of FIG. 6. In block 720, the CPU 406 generates at least one user setting relating to the user key, the vehicle identifier, and at least one position of a vehicle component. The at least one user setting is generated in block 720 based on the matched user profile and the matched vehicle profile. For example, generating a new user setting can involve using a user attribute in the user profile, such as a hip point, in combination with a vehicle attribute in the vehicle profile, such as a total distance of a track for a seat, to calculate a user setting for a position of a component, such as the seat 124. As will be appreciated by those of ordinary skill in the art, numerous other combinations of user attributes and/or preferences can be used with various vehicle attributes to generate a user setting for various adjustable components of a vehicle. In block 722, the network interface 404 transmits the at least one user setting to the vehicle via the network 20. The process then ends in block 724.

FIG. 10 depicts an example process performed by the server 400 for updating the user settings and the user profiles stored in the HDD 402 based on vehicle system settings changed by a user. This process ordinarily allows the user settings to reflect recent preference changes of the user. The process of FIG. 10 begins in block 726 when the network interface 404 of the server 400 receives a user key, a vehicle identifier, and a changed vehicle system setting via the network 20. The changed vehicle system setting is based on an input accepted by a user, as described above with reference to block 652 of FIG. 7B.

With reference to FIG. 10, in block 728, the CPU 406 of the server 400 updates at least one user setting stored in the HDD 402 based on the changed vehicle system setting. For example, the vehicle system setting can be a new mirror position selected by the user. In such an example, a user setting relating to a mirror position for a vehicle associated with the vehicle identifier can be updated by setting the user setting as the changed vehicle system setting. In block 730, the CPU 406 modifies a user profile, such as the user profiles of FIG. 5, based on the changed vehicle system setting. For example, in the case where the changed vehicle system setting relates to a recline position of a seat in a vehicle, the CPU 406 can modify a user preference such as “Recline Value” in a user profile. The process then ends in block 732. In some embodiments, block 728 or block 730 can be omitted.

Those of ordinary skill will appreciate that the various illustrative logical blocks and process steps described in connection with the examples disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Ordinarily skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the spirit and scope of the claims.

The steps of a method or algorithm described in connection with the examples disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an Application Specific Integrated Circuit (ASIC).

The foregoing description of the disclosed example embodiments is provided to enable any person of ordinary skill in the art to make or use the claimed invention. Various modifications to these examples will be readily apparent to those of ordinary skill in the art, and the principles disclosed herein may be applied to other examples without departing from the spirit or scope of the claims. The described embodiments are to be considered in all respects only as illustrative and not restrictive and the scope of the invention is, therefore, indicated by the following claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope. 

What is claimed is:
 1. A vehicle comprising: at least one component having an adjustable position; an actuator coupled to the at least one component to adjust the position of the at least one component; a controller connected to the actuator and configured to control the actuator; a memory storing a vehicle system setting for the position of the at least one component; and a telematics unit configured to: identify a user of the vehicle with a user key associated with the user; transmit the user key and a vehicle identifier associated with the vehicle to a server remote from the vehicle when the user is detected in or near the vehicle; receive at least one user setting from the remote server, wherein the at least one user setting relates to the user key, the vehicle identifier, and the position of the at least one component; and update a vehicle system setting for the at least one component with the at least one user setting; wherein the controller controls the actuator to adjust the position of the at least one component based on the at least one user setting when the vehicle system setting does not correspond with the at least one user setting.
 2. The vehicle of claim 1, wherein the at least one component of the vehicle includes a seat, a mirror, a steering wheel, or a pedal.
 3. The vehicle of claim 1, wherein the user key and vehicle identifier are transmitted by the telematics unit to the remote server via a mobile device of the user and the at least one user setting is received by the telematics unit from the remote server via the mobile device.
 4. The vehicle of claim 1, wherein the telematics unit identifies the user by using a mobile phone, a fob, an ignition key, a smart card, a memory card, a biometric sensor of the vehicle, or a user interface of the vehicle.
 5. The vehicle of claim 1, wherein the telematics unit is further configured to receive an entertainment setting, a climate setting, or a navigation setting from the remote server.
 6. The vehicle of claim 1, further comprising: an input device connected to the controller for accepting an input from the user to change the position of the at least one component; and wherein the controller is further configured to: change the vehicle system setting in accordance with the accepted input; and transmit the changed vehicle system setting to the telematics unit; and wherein the telematics unit is further configured to transmit the changed vehicle system setting to the remote server so as to update the at least one user setting stored in a memory of the remote server.
 7. A method for adjusting a position of at least one component of a vehicle for a user of the vehicle, the method comprising: identifying the user with a user key associated with the user; transmitting the user key and a vehicle identifier associated with the vehicle to a server remote from the vehicle; receiving at least one user setting for the vehicle from the remote server, wherein the at least one user setting relates to the user key, the vehicle identifier, and the position of the at least one component; and updating a vehicle system setting stored in a memory with the at least one user setting so as to adjust the position of the at least one component based on the at least one user setting when the vehicle system setting does not correspond with the at least one user setting.
 8. The method of claim 7, wherein the at least one component of the vehicle includes a seat, a mirror, a steering wheel, or a pedal.
 9. The method of claim 7, wherein the user key and the vehicle identifier are transmitted to the remote server via a mobile device of the user and the at least one user setting is received from the remote server via the mobile device.
 10. The method of claim 7, wherein the user is identified by using a mobile phone, a fob, an ignition key, a smart card, a memory card, a biometric sensor of the vehicle, or a user interface of the vehicle.
 11. The method of claim 7, wherein receiving the at least one user setting from the remote server further comprises receiving an entertainment setting, a climate setting, or a navigation setting.
 12. The method of claim 7, further comprising: accepting an input from the user to adjust the position of the at least one component; changing the vehicle system setting in accordance with the accepted input; and transmitting the changed vehicle system setting to the remote server so as to update the at least one user setting in a memory of the remote server.
 13. A method for adjusting a position of at least one component of a vehicle for a user of the vehicle, the method comprising: receiving from the vehicle a user key associated with the user and a vehicle identifier associated with the vehicle; matching the user key and the vehicle identifier with at least one user setting stored in a memory, the at least one user setting relating to the user key, the vehicle identifier, and the position of the at least one component of the vehicle; and transmitting the at least one user setting to the vehicle so as to adjust the position of the at least one component based on the at least one user setting when a vehicle system setting for the position of the at least one component does not correspond with the at least one user setting.
 14. The method of claim 13, wherein the at least one component of the vehicle includes a seat, a mirror, a steering wheel, or a pedal.
 15. The method of claim 13, wherein transmitting the at least one user setting to the vehicle further comprises transmitting an entertainment setting, a climate setting, or a navigation setting to the vehicle.
 16. The method of claim 13, further comprising: receiving a changed vehicle system setting from the vehicle, wherein the changed vehicle system setting is based on an input accepted from the user; and updating the at least one user setting with the changed vehicle system setting in the memory.
 17. A method for adjusting a position of at least one component of a vehicle for a user of the vehicle, the method comprising: receiving a user key associated with the user and a vehicle identifier associated with the vehicle; matching the user key with a user profile stored in a memory; matching the vehicle identifier with a vehicle profile stored in the memory; generating at least one user setting relating to the user key, the vehicle identifier, and the position of the at least one component based on the user profile and the vehicle profile; and transmitting the at least one user setting to the vehicle so as to adjust the position of the at least one component based on the at least one user setting when a vehicle system setting for the position of the at least one component does not correspond with the at least one user setting.
 18. The method of claim 17, wherein the user profile includes an eye-point distance or a hip-point distance for the user.
 19. The method of claim 17, wherein the at least one component of the vehicle includes a seat, a mirror, a steering wheel, or a pedal.
 20. The method of claim 11, further comprising: receiving a changed vehicle system setting from the vehicle, wherein the changed vehicle system setting is based on an input accepted from the user; and modifying the user profile based on the changed vehicle system setting. 